跳到主要内容

Stable Diffusion 环境配置

Stable Diffusion 是什么?​

Stable Diffusion 是一个AI 绘图软件 (开源模型),可本地部署,可切换多种模型,且新的模型和开源库每天都在更新发布,最重要的是免费,没有绘图次数限制。

快速安装体验​

注意!!最好安装 Python 3.10,不然会遇到一堆问题

SD web UI提供了一站式的 SD 工具,功能非常全面。

git clone git@github.com:AUTOMATIC1111/stable-diffusion-webui.git

然后使用清华的镜像源安装依赖(这是坑,建议直接使用下面提供的腾讯源,这里标识一下避免下次再踩坑)

python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

如果报错

使用 --verbose 参数查看详细的错误信息

# https://github.com/XPixelGroup/BasicSR/issues/627
# 折腾了大半天,各种依赖下载安装都没有用,换成腾讯的镜像源就好了
pip install --verbose -i https://mirrors.cloud.tencent.com/pypi/simple basicsr


# 使用腾讯的镜像源安装依赖
pip install -r requirements.txt -i https://mirrors.cloud.tencent.com/pypi/simple
pip install xformers==0.0.16

# 索性全部使用腾讯的镜像源
pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple
pip config set global.trusted-host mirrors.cloud.tencent.com

# 关闭镜像
pip config set global.index-url https://pypi.org/simple
pip config set global.trusted-host pypi.org

# 直接使用代理的方式下载
pip config set global.proxy 代理服务器地址:端口号

注意,这个下载巨慢,不是卡住了

可以观察这个位置,如果不断的新增依赖就是没有卡住

xFormers 依赖安装问题​

1、提示:No module 'xformers'. Proceeding without it.

编辑 stable-diffusion-webui目录中的“webui-user.bat”文件,添加--xformers参数,如下:

set COMMANDLINE_ARGS=--xformers

报错版本不支持,则按照下面的说明安装

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Xformers#building-xformers-on-windows-by-duckness

安装本地编译好的 xformers

# 先进入虚拟环境再安装
./venv/scripts/activate
pip install .\xformers-0.0.21+55a4798.d20230707-cp311-cp311-win_amd64.whl

检查 CUDA 是否可用

python -c "import torch; print(torch.cuda.is_available())"

如果报错 memory_efficient_attention_forward

这个是个坑,需要安装 torch==1.10.0+cu113

# 检查版本
pip show torch

pip show xformers

坑:不同版本的 torch 需要不同版本的 xformers,我们安装的 xformers==0.0.21 这并不匹配 torch 2.0.1。以上我们安装的是 2.0.1 版本的 torch,参考这个 issue

pip install xformers==0.0.21.dev561

全部安装好后注释掉这行,免得每次都检查依赖是否安装

检查版本的问题​

则仔细看这个依赖是啥

# 然后检查当前执行的版本
pip install basicsr==

如果报错下面这样的,说明当前版本的 Python 太高了

这里使用 conda 创建一个虚拟环境

conda create --name myenv python=3.10

这将创建一个名为 myenv 的虚拟环境,并使用 Python 3.10。

运行以下命令激活虚拟环境:

conda activate myenv

# 如果要退出虚拟环境执行下面的命令
conda deactivate

xFormers 是什么?​

Xformers 是社区目前知名度最高的优化加速方案了,名字 Xformers 指的是该库将各种 transformer 架构的模型囊括其中.

该库仅适用于 N卡,特点是加速图片生成并降低显存占用,代价是输出图像不稳定,有可能比不开 Xformers 略差

在平常运行 WebUI 的指令后加上 --xformers 即可让程序在运行时使用 xformers 来进行优化

提示

如果使用 bat 命令的,则直接加上 --xformers 参数即可

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers --skip-python-version-check

call webui.bat

示例运行指令:

python webui.py --deepdanbooru --no-half --precision full --port 6006 --share --disable-safe-unpickle --xformers

设置中文界面​

注意,需要挂代理

1、打开页面,点击 Extensions

2、点击 Available

3、点击 Load From

4、取消 localization 前面的勾选

5、搜索 Simplified Chinese localization ,并 install 等待下载完成

提示

如果一直安装失败,可以到 tmp 目录下删掉这个文件,然后重新安装

8、在左侧栏找到 user interface,选择 Localizationg 后面的刷新按钮,刷新

9、选择对应的语言,保存后重新加载

References​